analysis model in software engineering